package servidores;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;

public class ServidorCatalogo {
    List<Socket> listaClientesCatalogo; 
    ServerSocket socketServerCatalogo;
    int puertoCatalogo;
            
    public ServidorCatalogo(int portCatalogo) {
        listaClientesCatalogo = new ArrayList<Socket> ();
        this.puertoCatalogo = portCatalogo;
    }
    
    public void iniciar () throws IOException {
        socketServerCatalogo = new ServerSocket (puertoCatalogo);
        System.out.println("BackEnd-Catalogo: Servidor de Catalogo iniciado");
        while (true) {
            try {
            	Socket socketCliente = socketServerCatalogo.accept();
                listaClientesCatalogo.add(socketCliente);
                ThreadClienteCatalogo cliente;
				cliente = new ThreadClienteCatalogo(socketCliente,listaClientesCatalogo);
                cliente.start();
                System.out.println("BackEnd-Catalogo: Nuevo Cliente Conectado");
            }
            catch (IOException e) {
            	System.out.println("BackEnd-Catalogo: Error al iniciar le servidor de Catalogo");
            }
        }
    }

	public int getPuerto() {
		return puertoCatalogo;
	}

	public void setPuerto(int puerto) {
		this.puertoCatalogo = puerto;
	}
	
	public static void main(String args[]) {
    	ServidorCatalogo servidorCat = new ServidorCatalogo(5000);
    	try {
			servidorCat.iniciar();
		} catch (IOException e) {
			e.printStackTrace();
		}
    }
}
